#include "clientParser.h"
#include "clientOperacion.h"

Parser::Parser(char* path) {
	entrada = new std::ifstream(path);
}

std::ifstream* Parser::getArchivo() const {
	return entrada;
}

void Parser::extraerCampo(std::string& linea, std::string& campoOperacion) {
	int offset = 0;
	offset = linea.find(' ');
	if(offset > 0) {
		campoOperacion = linea.substr(0, offset);
		linea.erase(0, offset + 1);
	}
	else {
		campoOperacion = linea;
		linea = "";
	}
}

void Parser::crearOperacion(std::string linea, Operacion& operacion) {
	std::string campoOperacion;

	extraerCampo(linea, campoOperacion);
	operacion.setId(atoi(campoOperacion.c_str()));

	extraerCampo(linea, campoOperacion);
	operacion.setCodigoOperacion(campoOperacion[0]);

	extraerCampo(linea, campoOperacion);
	operacion.setClave(campoOperacion);

	operacion.setValor(linea);
}

Parser::~Parser() {
	if (entrada)
		delete entrada;
}

